<?php
namespace app\controller;
use think\facade\Request;
use app\BaseController;
use think\facade\Db;
class Server extends BaseController
{
    public function getMyServerList()
    {
        //待测试
        $data = Request::param();
        //$user = checkLogin();  //此处为正式使用，需要从登录状态中获取uid，暂时使用临时测试
        $user['id'] = $data['uid'];  //此处为临时测试使用，实际使用时需要从登录状态中获取uid
        $r = Db::table('tb_server')->where('uid',$user['id'])->select();
        if(!$r) {return returnJson(601, '您还没有申请服务器');}
        return returnJson(0, 'success', $r);
    }

    public function addServer()
    {
        $data = Request::param();
        //$user = checkLogin();  //此处为正式使用，需要从登录状态中获取uid，暂时使用临时测试
        $user['id'] = $data['uid'];  //此处为临时测试使用，实际使用时需要从登录状态中获取uid
        $array = ['uid' => $user['id'], 'name' => $data['name'], 'address' => $data['address'], 'vid' => $data['vid'],
            'port' => $data['port'], 'state_white' => $data['state_white'], ];
        Db::table('tb_server')->insert($array);
        return returnJson(0, 'success', $array);
    }

    public function setInformation()
    {
        $data = Request::param();
        //$user = checkLogin();  //此处为正式使用，需要从登录状态中获取uid，暂时使用临时测试
        $user['id'] = $data['uid'];  //此处为临时测试使用，实际使用时需要从登录状态中获取uid
        $r = Db::table('tb_server')->where('id',$data['id'])->find();
        if(!$r){
            return returnJson(1, '操作失败，服务器id不存在');
        }
        # 如果审核通过，只能修改有限的设置，审核通过前可任意修改
        if ($r['state_approved']==1){
            $array['state_white'] = $data['state_white'];
            $array['vid'] = $data['vid'];
            $array['state_release'] = $data['state_release'];
        }
        else{$array = ['name' => $data['name'], 'address' => $data['address'], 'vid' => $data['vid'],
            'port' => $data['port'], 'uid' => $data['uid'], 'state_white' => $data['state_white'],
            ];}
        $array['time']=date('Y-m-d H:i:s',time());
        Db::table('tb_server')->where('id',$data['id'])->update($array);
        return returnJson(0, '操作成功');
    }
    public function setRelease()
    {
        $data = Request::param();
        //$user = checkLogin();  //此处为正式使用，需要从登录状态中获取uid，暂时使用临时测试
        $user['id'] = $data['uid'];  //此处为临时测试使用，实际使用时需要从登录状态中获取uid
        $r = Db::table('tb_server')->where('id',$data['id'])->find();
        # 如果审核通过，只能修改有限的设置，否则返回错误提示
        if(!$r){
            return returnJson(1, '操作失败，服务器id不存在');
        }
        if ($r['state_approved']==1){
            $array['state_release'] = $data['state_release'];
        }
        else{
            return returnJson(601, '操作失败，审核通过后自动上架，上架后可调整为下架状态，此消息为非预期，如果出现请前端修改为上架前不可点击此按钮');
        }
        $array['time']=date('Y-m-d H:i:s',time());
        Db::table('tb_server')->where('id',$data['id'])->update($array);
        return returnJson(0, '操作成功');
    }
    public function setWhite()
    {
        $data = Request::param();
        //$user = checkLogin();  //此处为正式使用，需要从登录状态中获取uid，暂时使用临时测试
        $user['id'] = $data['uid'];  //此处为临时测试使用，实际使用时需要从登录状态中获取uid
        $r = Db::table('tb_server')->where('id',$data['id'])->find();
        # 如果审核通过，只能修改有限的设置，否则返回错误提示
        if(!$r){
            return returnJson(1, '操作失败，服务器id不存在');
        }
        $array['state_white'] = $data['state_white'];
        $array['time']=date('Y-m-d H:i:s',time());
        Db::table('tb_server')->where('id',$data['id'])->update($array);
        return returnJson(0, '操作成功',);
    }





}